package j2024.j202412;

public class j1203 {
    /**
     * 5. 最长回文子串
     * 给你一个字符串 s，找到 s 中最长的
     * 回文
     *
     * 子串
     * 。
     * @param s
     * @return
     */
    public String longestPalindrome(String s) {
        int n = s.length();
        boolean[][] dp = new boolean[n][n];
        int begin = 0,len = 1;
        for (int i = n-1; i >= 0; i--) {
            for (int j = i; j < n; j++) {
                if(s.charAt(i) == s.charAt(j)){
                    //判断i,j是否相邻或者相等
                    dp[i][j]=i+1<j?dp[i+1][j-1]:true;
                }
                if(dp[i][j] && j-i+1>len){
                    len = j-i+1;
                    begin = i;
                }
            }
        }
        return s.substring(begin,begin+len);
    }
}
